package cn.itcast.item.service;

import cn.itcast.hmall.dto.common.PageDTO;
import cn.itcast.hmall.dto.common.ResultDTO;
import cn.itcast.hmall.dto.item.SearchItemDTO;
import cn.itcast.hmall.pojo.item.ItemDoc;
import cn.itcast.item.pojo.Item;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author ASUS
* @description 针对表【tb_item(商品表)】的数据库操作Service
* @createDate 2022-06-21 15:16:45
*/
public interface ItemService extends IService<Item> {

    /**
     * 分页查询
     * @param searchItemDTO item查询封装
     * @return
     */
    PageDTO<Item> queryItemByPage(SearchItemDTO searchItemDTO);

    /**
     * 根据id查询商品
     * @param id 商品id
     *
     */
    Item queryItemById(Long id);

    /**
     * 新增商品
     * @param item
     * @return
     */
    ResultDTO saveItem(Item item);

    /**
     * 上、下架商品
     * @param id
     * @param status
     * @return
     */
    ResultDTO shelfItem(Long id, Integer status);

    /**
     * 修改商品
     * @param item
     * @return
     */
    ResultDTO updateItem(Item item);

    /**
     * 根据id删除商品
     * @param id
     * @return
     */
    ResultDTO deleteItemById(Long id);
}
